The development of inexpensive and high-powered computer systems, such as personal computers, computer workstations and the like has led to an increase in the availability of sophisticated computer technology to large numbers of people, Generally, a personal computer, workstation or the like includes processor, a video display through which the computer can display information to an operator, and operator input devices such as a keyboard, a pointing devices such as a mouse or the like, which the operator can use to input information to the computer. The development of graphical user interfaces (GUI's) has made computers easier for many to use. In a graphical user interface, the computer displays information to an operator in graphical form on a video display, and allows the operator to manipulate the displayed graphical information to control the computer by manipulating the pointing device.
Digital computer systems execute programs in execution environment in the form of a virtual machine. In some cases, it is desirable to be able to, when an application program is loaded into a virtual machine for processing, other elements, identified herein as "classes," are also loaded and instantiated as objects which are also available for processing along with the application program that is to be loaded. This would allow for instantiation of object for use in processing along with the program that is loaded, even if the program is not aware of the existence of the instantiated classes and was not developed for use therewith. This can be useful in connection with, for example, use of technologies, such as "assistive technologies" which an operator may want to use along with programs being processed, even if the programs themselves were not developed for use with the respective technologies.
Assistive technologies typically are used to assist operators who have various kinds of disabilities to use computers, may need to receive notifications of events so that they can perform an operation which can, for example, provide a non-visual indication of the event. Thus, an assistive technology which is used in connection with a graphical user interface may, when an event occurs in connection with an object in the graphical user interface which would typically be displayed on the digital computer system's video display to provide a visual notification of the event to the operator, also enable speakers to generate an audible notification of the event to the operator. Accordingly, the assistive technology can assist a sight-impaired person to use the computer. To accomplish that, the assistive technology will need to be instantiated in the virtual machine along with the application program for events are being generated in the graphical user interface so that it (that is, the assistive technology) can receive notification of events in connection with the graphical user interface objects. However, the application programs which are being loaded may not be aware of the existence of the assistive technologies, and so they (that is, the application programs) would not be able to notify the virtual machine that it (that is the virtual machine) should load the assistive technologies when it loads the application program.